package com.fdb.basic.framework.core.constant;

/**
 * 
 * <h2>流程异常类型，主要用于{@link TerminateException} 类</h2></p>
 * <strong>TASK: </strong>终止当前任务</p>
 * <strong>NODE: </strong>终止当前节点</p>
 * <strong>EVENT: </strong>终止当前事件</p>
 * <strong>FLOW: </strong>终止当前业务流转（暂未使用）</p>
 * <strong>DEFAULT:</strong> 默认（暂未使用）
 * 
 * @author Cytus_
 * @since 2018年5月25日 下午7:49:45
 * @version 1.0
 *
 */
public enum FlowExceptionType {
	
	TASK(1), NODE(2), EVENT(3), FLOW(4), DEFAULT(0);
    
    private int level;
    
    private FlowExceptionType(int level) {
        this.level = level;
    }
    
    public int getLevel() {
        return this.level;
    }
    
    public boolean isHighLevel(FlowExceptionType type) {
        return this.level > type.getLevel();
    }

}
